热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

真经|神功_[Spring5]IOC容器_Bean管理XML方式_注入集合类型属性

篇首语:本文由编程笔记#小编为大家整理,主要介绍了[Spring5]IOC容器_Bean管理XML方式_注入集合类型属性相关的知识,希望对你有一定的参考价值。 xml注入集合属性 1.注入数组类型属性

篇首语:本文由编程笔记#小编为大家整理,主要介绍了[Spring5]IOC容器_Bean管理XML方式_注入集合类型属性相关的知识,希望对你有一定的参考价值。



xml注入集合属性

1.注入数组类型属性

2.注入List集合类型属性

3.注入Map集合类型属性

(1)创建类,定义数组,list,map,set类型属性,生成对应set方法

package com.atguigu.collectiontype;
import java.util.List;
import java.util.Map;
import java.util.Set;
public class Stu
//1.数组类型属性
private String[] courses;
//2.List集合类型属性
private List<String> list;
//3.map集合类型属性
private Map<String,String> maps;
//4.set集合类型属性
private Set<String> sets;
public void setSets(Set<String> sets)
this.sets &#61; sets;

public void setList(List<String> list)
this.list &#61; list;

public void setMaps(Map<String, String> maps)
this.maps &#61; maps;

public void setCourses(String[] courses)

this.courses &#61; courses;


public void test()

System.out.println(Arrays.toString(courses));
System.out.println(list);
System.out.println(maps);
System.out.println(sets);


&#xff08;2&#xff09;在spring配置文件中进行配置


<beans xmlns&#61;"http://www.springframework.org/schema/beans"
xmlns:xsi&#61;"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation&#61;"http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">




<property name&#61;"courses">
<array>
<value>java课程value>
<value>数据库课程value>
array>
property>

<property name&#61;"list">
<list>
<value>张三value>
<value>小三value>
list>
property>


<property name&#61;"maps">
<map>

entry>
php" value&#61;"php">
entry>
map>
property>

<property name&#61;"sets">
<set>
<value>mysqlvalue>
<value>Redisvalue>
set>
property>
bean>
beans>

package com.atguigu.test;
import com.atguigu.collectiontype.Stu;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class testCollection
&#64;Test
public void testCollection()

ApplicationContext context &#61; new ClassPathXmlApplicationContext("bean5.xml");
Stu stu &#61; context.getBean("stu", Stu.class);
stu.test();



在集合里面设置对象类型值

package com.atguigu.collectiontype;
public class Course
private String cname;//课程名称
public void setCname(String cname)
this.cname &#61; cname;

&#64;Override
public String toString()
return "Course" &#43;
"cname&#61;&#39;" &#43; cname &#43; &#39;\\&#39;&#39; &#43;
&#39;&#39;;


package com.atguigu.collectiontype;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.Set;
public class Stu
//1.数组类型属性
private String[] courses;
//2.List集合类型属性
private List<String> list;
//3.map集合类型属性
private Map<String,String> maps;
//4.set集合类型属性
private Set<String> sets;
//学生所学多门课程
private List<Course> courseList;
public void setCourseList(List<Course> courseList)
this.courseList &#61; courseList;

public void setSets(Set<String> sets)
this.sets &#61; sets;

public void setList(List<String> list)
this.list &#61; list;

public void setMaps(Map<String, String> maps)
this.maps &#61; maps;

public void setCourses(String[] courses)

this.courses &#61; courses;

public void test()

System.out.println(Arrays.toString(courses));
System.out.println(list);
System.out.println(maps);
System.out.println(sets);
System.out.println(courseList);



<beans xmlns&#61;"http://www.springframework.org/schema/beans"
xmlns:xsi&#61;"http://www.w3.org/2001/XMLSchema-instance" xmlns:util&#61;"http://www.springframework.org/schema/util"
xsi:schemaLocation&#61;"http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/util https://www.springframework.org/schema/util/spring-util.xsd">




<property name&#61;"courses">
<array>
<value>java课程value>
<value>数据库课程value>
array>
property>

<property name&#61;"list">
<list>
<value>张三value>
<value>小三value>
list>
property>


<property name&#61;"maps">
<map>

entry>

entry>
map>
property>

<property name&#61;"sets">
<set>
<value>MySQLvalue>
<value>Redisvalue>
set>
property>

<property name&#61;"courseList">
<list>
<ref bean&#61;"course1">ref>
ref>
list>
property>
bean>


<property name&#61;"cname" value&#61;"Spring5框架">

property>


bean>

<property name&#61;"cname" value&#61;"MySql5框架">
property>
bean>


beans>

测试&#xff1a;

package com.atguigu.test;
import com.atguigu.collectiontype.Stu;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class testCollection
&#64;Test
public void testCollection()

ApplicationContext context &#61; new ClassPathXmlApplicationContext("bean5.xml");
Stu stu &#61; context.getBean("stu", Stu.class);
stu.test();



把集合注入部分提取出来

&#xff08;1&#xff09;在spring配置文件中引入名称空间util


<beans xmlns&#61;"http://www.springframework.org/schema/beans"
xmlns:xsi&#61;"http://www.w3.org/2001/XMLSchema-instance"
xmlns:util&#61;"http://www.springframework.org/schema/util"
xsi:schemaLocation&#61;"http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd"
>


beans>

&#xff08;2&#xff09;使用util标签完成list集合注入提取

package com.atguigu.spring.collectiontype;
import java.util.List;
public class Book
private List<String> list;
public void setList(List<String> list)

this.list &#61; list;

public void test()

System.out.println(list);



<beans xmlns&#61;"http://www.springframework.org/schema/beans"
xmlns:xsi&#61;"http://www.w3.org/2001/XMLSchema-instance"
xmlns:util&#61;"http://www.springframework.org/schema/util"
xsi:schemaLocation&#61;"http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd"
>



<value>易筋经value>
<value>九阴真经value>
<value>九阳神功value>
util:list>



property>
bean>
beans>

测试&#xff1a;

package com.atguigu.spring.test;
import com.atguigu.spring.collectiontype.Book;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class testBook
&#64;Test
public void testCollection()

ApplicationContext context &#61; new ClassPathXmlApplicationContext("bean1.xml");
Book book &#61; context.getBean("book", Book.class);
book.test();



推荐阅读
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 本文介绍了使用kotlin实现动画效果的方法,包括上下移动、放大缩小、旋转等功能。通过代码示例演示了如何使用ObjectAnimator和AnimatorSet来实现动画效果,并提供了实现抖动效果的代码。同时还介绍了如何使用translationY和translationX来实现上下和左右移动的效果。最后还提供了一个anim_small.xml文件的代码示例,可以用来实现放大缩小的效果。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • 本文详细介绍了PHP中与URL处理相关的三个函数:http_build_query、parse_str和查询字符串的解析。通过示例和语法说明,讲解了这些函数的使用方法和作用,帮助读者更好地理解和应用。 ... [详细]
  • 本文介绍了如何在给定的有序字符序列中插入新字符,并保持序列的有序性。通过示例代码演示了插入过程,以及插入后的字符序列。 ... [详细]
  • 动态规划算法的基本步骤及最长递增子序列问题详解
    本文详细介绍了动态规划算法的基本步骤,包括划分阶段、选择状态、决策和状态转移方程,并以最长递增子序列问题为例进行了详细解析。动态规划算法的有效性依赖于问题本身所具有的最优子结构性质和子问题重叠性质。通过将子问题的解保存在一个表中,在以后尽可能多地利用这些子问题的解,从而提高算法的效率。 ... [详细]
author-avatar
xuanchen
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有